﻿package net.libra.core.interfaces 
{
	import flash.display.DisplayObject;
	
	import net.libra.notifier.Notification;

	/**
	 * 所有想接听消息的显示对象实现这个接口
	 * @author DanielLu
	 */
	public interface IReceive 
	{
		/**
		 * 返回是否是view controller
		 * @return MVCType
		 */ 
		function getType():String;
		/**
		 * 返回对象依赖的显示对象 
		 * @return		对象依赖的显示对象
		 */
		function getDisplayObject () : DisplayObject;

		/**
		 * 返回视图需要接收的事件列表
		 * @return		视图需要接收的事件列表
		 */
		function listNotificationInterests () : Array;

		/**
		 * 处理接收到的事件
		 * @param notification		处理接收到的事件
		 */
		function handleNotification (notification : Notification) : void;
	}
}
